The use of photonic architectures to perform a variety of arithmetic functions is known. For example, FIG. 1 illustrates a conventional photonic architecture that is configured to perform the addition of two digital signals A, B to form a result R. FIG. 2 illustrates a conventional photonic architecture that is configured to multiply two digital signals A, B together to form a result R. FIG. 3 illustrates a conventional photonic architecture that is configured to perform the arithmetic function a1·b1+a2·b2+ . . . +an·bn=R composed of a plurality of multiply and accumulates.
Multiply and accumulate type calculations are often done on data streams, such as in signal or image processing algorithms, in an electrical digital signal processor (DSP). When the calculation is done in an electrical DSP, the data points must be shifted through memory or the pointers to the values shifted and the result constantly recalculated.